package utils;

import Function.FCTankLibrary;
import VWorldGameStudio.*;

/**
 * 数据可写
 * 
 * @author jungle
 *
 */
public interface FCDataWriteable {

	/**
	 * 写入存档
	 * 
	 * @param player1
	 * @param player2
	 * @param pupil1
	 * @param pupil2
	 * @param gamesave
	 * @param gamedate
	 * @param tankl
	 * @return
	 */
	boolean writeSaveData(FCPlayerInfo player1,
			FCSave gamesave, FCDate gamedate, FCTankLibrary tankl);

	/**
	 * 写入剧情数据
	 * 
	 * @param pl
	 */
	public void writePlotData(FCPlot pl);

	/**
	 * 写入攻击动画
	 * 
	 * @param ani
	 */
	public void writeAnimationData(FCAnimation ani);

	/**
	 * 写入动作
	 * 
	 * @param act
	 */
	public void writeActionData(FCAction act);

	/**
	 * 写入事件
	 * 
	 * @param ent
	 */
	public void writeEventData(FCEvent ent);

	/**
	 * 写入地图
	 * 
	 * @param map
	 */
	public void writeMapData(FCMap map);

	/**
	 * 写入怪物
	 * 
	 * @param mon
	 */
	public void writeMonsterData(FCMonster mon);

	/**
	 * 写入物品
	 * 
	 * @param it
	 */
	public void writeItemData(FCItem it);

	/**
	 * 写入坦克
	 * 
	 * @param tank
	 */
	public void writeTankData(FCTank tank);

	/**
	 * 写入人物
	 * 
	 * @param cha
	 */
	public void writeCharacterData(FCCharacter cha);

	/**
	 * 写入方块
	 * 
	 * @param block
	 */
	public void writeBlockData(FCBlock block);


	public void writeMapAnimationData(FCMapAnimation mon);
}
